package io.esirong.base.mvp;

import io.esirong.base.ContextX;

/**
 * 负责UI视窗的显示，UI交互
 *
 * @author 黄嵘才(HuangRc)
 */
public interface IBaseView {

    /**
     * 上下文句柄
     *
     * @return context
     */
    ContextX getContextX();

    /**
     * 显示加载框
     */
    void showLoading();

    /**
     * 隐藏加载框
     */
    void dismissLoading();

    /**
     * 空数据
     *
     * @param tag TAG
     */
    void onEmpty(Object tag);

    /**
     * 错误数据
     *
     * @param tag      TAG
     * @param errorMsg 错误信息
     */
    void onError(Object tag, String errorMsg);

    /**
     * 错误数据
     *
     * @param tag TAG
     * @param msg 错误信息
     */
    void showMsg(Object tag, String msg);

    /**
     * 显示对话框
     */
    void showDialog();
}
